home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / mpeg-faq / part2 < prev    next >
Encoding:
Text File  |  1995-07-25  |  47.7 KB  |  1,015 lines

  1. Subject: MPEG-FAQ: multimedia compression [2/6]
  2. Newsgroups: comp.graphics,comp.graphics.animation,comp.compression,comp.multimedia,alt.binaries.multimedia,alt.binaries.pictures.utilities,alt.binaries.pictures,alt.binaries.pictures.d,alt.answers,comp.answers,news.answers
  3. From: phade@cs.tu-berlin.de (Frank Gadegast)
  4. Date: 22 Aug 1994 12:28:48 GMT
  5.  
  6. Archive-name: mpeg-faq/part2
  7. Last-modified: 1994/08/22
  8. Version: v 3.2 94/08/22
  9. Posting-Frequency: bimonthly
  10.  
  11.  
  12. BEGIN -------------------- CUT HERE --------------------- 2/6
  13.    for example, the MPEG-1 style sequence_header() is followed by
  14.    sequence_extension() which is exclusive to MPEG-2. Some extension 
  15.    headers are specific to MPEG-2 profiles. For example, 
  16.    sequence_scalable_extension() is not allowed in Main Profile.
  17.  
  18.    A simple program need only scan the coded bistream for byte-aligned 
  19.    start codes to determine whether the stream is MPEG-1 or MPEG-2.
  20.  
  21. Q. What is the precision of MPEG samples?
  22. A. By definition, MPEG samples have no more and no less than 8-bits 
  23.    uniform sample precision (256 quantization levels).  For luminance
  24.    (which is unsigned) data, black corresponds to level 0, white 
  25.    is level 255. However, in CCIR recommendation 601 chromaticy, levels 
  26.    0 through 14 and 236 through 255 are reserved for blanking signal 
  27.    excursions. MPEG currently has no such clipped excursion restrictions.
  28.  
  29. Q. Is it MPEG-2 (arabic numbers) or MPEG-II (roman)?
  30.  
  31. A. Committee insiders most often use the arabic notation with the
  32.    hyphen, e.g. MPEG-2.  Only the most retentive use the official 
  33.    designation: Phase 2.   In fact, M.P.E.G. itself is a nickname.  The
  34.    official name is: ISO/IEC JTC1 SC29 WG11.  The militaristic lingo has 
  35.    so far managed to keep the enemy (DVI) confused and out of the picture.
  36.  
  37.    ISO:  International Organization for Standardization
  38.    IEC:  Interntional Electrotechnical Commission
  39.    JTC1: Joint Technical Committee 1
  40.    SC29: Sub-committee 29
  41.    WG11: Work Group 11  (moving pictures with... uh, audio)
  42.  
  43. Q. Why MPEG-2?  Wasn't MPEG-1 enough?
  44.  
  45. A. MPEG-1 was optimized for CD-ROM or applications at about 1.5 Mbit/sec.
  46.    Video was strictly non-interlaced (i.e. progressive).  The international 
  47.    co-operation had executed so well for MPEG-1, that the committee began to 
  48.    address applications at broadcast TV sample rates using the CCIR 601 
  49.    recommendation (720 samples/line by 480 lines per frame by 30 frames per 
  50.    second... or about 15.2 million samples/sec including chroma) as the
  51.    reference.
  52.  
  53.    Unfortunately, today's TV scanning pattern is interlaced.  This 
  54.    introduces a duality in block coding:  do local redundancy areas 
  55.    (blocks) exist exclusively in a field or a frame... 
  56.    (or a particle or wave) ?  The answer of course is that some blocks 
  57.    are one or the other at different times, depending on motion activity.  
  58.    
  59.    The additional man years of experimentation and implementation between 
  60.    MPEG-1 and MPEG-2 improved the method of block-based transform coding.
  61.  
  62. Q. How do MPEG and JPEG differ?
  63.  
  64. A. The most fundamental difference is MPEG's use of block-based motion 
  65.    compensated prediction (MCP)---a general method falling into the 
  66.    temporal DPCM category.  
  67.     
  68.    The second most fundamental difference is in the target application. 
  69.    JPEG adopts a general purpose philosophy: independence from color space 
  70.    (up to 255 components per frame) and quantization tables for each 
  71.    component.  Extended modes in JPEG include two sample precisions (8 and 
  72.    12 bit sample accuracy), combinations of frequency progessive, spatially 
  73.    progressive, and amplitude progressive scanning modes. Color independence 
  74.    is made possible thanks to downloadable Huffman tables.
  75.  
  76.    Since MPEG is targeted for a set of specific applications, there is 
  77.    only one color space (4:2:0 YCbCr), one sample precision (8 bits), and
  78.    one scanning mode (sequential). Luminance and chrominance share 
  79.    quantization tables. The range of sampling dimensions are more limited
  80.    as well.  MPEG adds adaptive quantization at the macroblock (16 x 16 pixel 
  81.    area) layer.  This permits both smoother bit rate control 
  82.    and more perceptually uniform quantization throughout the picture and 
  83.    image sequence.   Adaptive quantization is part of the JPEG-2 charter.
  84.    MPEG variable length coding tables are non-downloadable, and are 
  85.    therefore optimized for a limited range of compression ratios 
  86.    appropriate for the target applications.
  87.  
  88.    The local spatial decorrelation methods in MPEG and JPEG are very similar. 
  89.    Picture data is block transform coded with the two-dimensional orthanormal 
  90.    8x8 DCT. The resulting 63 AC transform coefficients are mapped in a 
  91.    zig-zag pattern to statistically increase the runs of zeros. Coefficients 
  92.    of the vector are then uniformily scalar quantized, run-length coded, and 
  93.    finally the run-length symbols are variable length coded using a 
  94.    cannonical (JPEG) or modified Huffman (MPEG) scheme.  Global frame 
  95.    redundancy is reduced by 1-D DPCM of the block DC coefficients, followed
  96.    by quantization and variable length entropy coding.
  97.  
  98.             MCP                   DCT                    ZZ               Q
  99.        Frame -> 8x8 spatial block -> 8x8 frequency block -> Zig-zag scan -> 
  100.                     
  101.                     RLC                  VLC
  102.        quanitzation -> run-length coding -> variable length coding.
  103.  
  104.    The similarities have made it possible for the development of hard-wired 
  105.    silicon that can code both standards.  Even microcoded architectures can 
  106.    better optimize through hardwired instruction primitives or functional 
  107.    blocks. There are many additional minor differences. They include:
  108.    
  109.      1. DCT and quantization precision in MPEG is 9-bits since the macroblock 
  110.         difference operation expands the 8-bit signal precision by one bit.
  111.  
  112.      2. Quantization in MPEG-1 forces quantized coefficients to become
  113.         odd values (oddification).
  114.  
  115.      3. JPEG run-length coding produces run-size tokens (run of zeros,
  116.         non-zero coefficient magnitude) whereas MPEG produces fully
  117.         concatenated run-level tokens that do not require magnitude 
  118.         differential bits.
  119.  
  120.      4. DC values in MPEG-1 are limited to 8-bit precision (a constant
  121.         stepsize of 8), whereas JPEG DC precision can occupy all possible
  122.         11-bits.  MPEG-2, however, re-introduced extra DC precison.
  123.  
  124.  
  125. Q. What happened to MPEG-3?
  126.  
  127. A. MPEG-3 was to have targeted HDTV applications with sampling dimensions
  128.    up to 1920 x 1080 x 30 Hz and coded bitrates between 20 and 40 Mbit/sec.
  129.    It was later discovered that with some (compatible) fine tuning, MPEG-2 
  130.    and MPEG-1 syntax worked very well for HDTV rate video.  The key is
  131.    to maintain an optimal balance between sample rate and coded bit rate.
  132.  
  133.    Also, the standardization window for HDTV was rapidly closing.  Europe
  134.    and the United States were on the brink of committing to analog-digital
  135.    subnyquist hybrid algorithms (D-MAC, MUSE, et al).   European all-digital
  136.    projects such as HD-DIVINE and VADIS demonstrated better picture quality
  137.    with respect to bandwidth using the MPEG syntax.  In the United States, the
  138.    Sarnoff/NBC/Philips/Thomson HDTV consortium had used MPEG-1 syntax from
  139.    the beginning, and with the exception of motion artificats (due to 
  140.    limited search range in the encoder), was deemed to have the best picture
  141.    quality of all three digital proponents.
  142.    
  143.    HDTV is now part of the MPEG-2 High-1440 Level and High Level toolkit.
  144.    
  145. Q. What is MPEG-4?
  146. A. MPEG-4 targets the Very Low Bitrate applications defined loosly
  147.    as having sampling dimensions up to 176 x 144 x 10 Hz and coded 
  148.    bit rates between 4800 and 64,000 bits/sec.   This new standard would 
  149.    be used, for example, in low bit rate videophones over analog 
  150.    telephone lines.  
  151.   
  152.    This effort is in the very early stages.  Morphology, fractals, model
  153.    based, and anal retentive block transform coding are all in the offering. 
  154.    MPEG-4 is now in the application identification phase.
  155.  
  156. Q. Where can I get a copy of the latest MPEG-2 draft?
  157. A. Contact your national standards body (e.g. ANSI Sales in NYC for the U.S.)
  158.  
  159. Q. What is the latest working drafts of MPEG-2 ?
  160. A. The latest versions of video (version 4), and systems were produced at 
  161.    the Brusells meeting (September 10, 1993).  The latest audio working 
  162.    draft was produced in New York (July 1993).
  163.  
  164.    MPEG-2 Video, Audio, and Systems will reach CD at the November 1994
  165.    Seoul, Korea meeting.
  166.  
  167. Q. What is the latest version of the MPEG-1 documents?
  168. A. Systems (ISO/IEC IS 11172-1), Video (ISO/IEC IS 11172-2), and Audio
  169.    (ISO/IEC IS 11172-3) have reached the final document stage.  Part 4,
  170.    Conformance Testing, is currently a CD.
  171.    
  172. Q. What is the evolution of standard documents?
  173. A. In chronological order:
  174.  
  175.    New Proposal (NP)
  176.    Working Draft (WD)
  177.    Committee Draft (CD)
  178.    Draft International Standard (DIS)
  179.    International Standard (IS)
  180.  
  181.  
  182. Q. When will an MPEG-2 decoder chip be available?
  183. A. Several chips will be sampling in late 1993.  For reasons of economy
  184.    and scale in the cable TV application, all are single-chip (not including 
  185.    DRAM and host CPU/controller) implementations. 
  186.    They are:
  187.  
  188.   SGS-Thomson STi-3500
  189.         first MPEG-2 chip on market
  190.         multi-tap binary horizontal sample rate convertor.
  191.         pan & scanning support for 16:9
  192.         requires external, dedicated microcontroller (8 bit)
  193.         8-bit data bus, no serial data bus.
  194.  
  195.   LSI Logic L64112 successor (pin compatible)
  196.         serial bus, 15 Mbit coded throughput.
  197.         smaller pin-count version due soon.
  198.  
  199.   C-Cube CL-950 successor (?)
  200.  
  201.   In 1994, we can look forward to:
  202.   
  203.   Pioneer single-chip MPEG-2 successor to CD-1100 MPEG-1 chip set.
  204.   IBM single-chip decoder.
  205.  
  206. Q. Are there single chip MPEG encoders?
  207.  
  208. A. Yes, the C-Cube CL-4000 is the only single-chip, real-time encoder
  209.    that can process true MPEG-1 SIF rate video.
  210.    
  211.    Single chip for +/- 15 pel motion estimation at SIF rates (352x240x30 Hz)
  212.    Two chips for +/- 32 pel at SIF rates (hierarchical)
  213.    5 or 6 chips for MPEG-2 at CCIR 601 rates (704 x 480 x 30 Hz)
  214.    Highly microcoded architecture.
  215.    Can code both H.261 and JPEG.
  216.    Implements high picture quality microcode programs.
  217.    [more details from CICC'93 and HotChips '93 conference to be included]
  218.    
  219.    IBM and SGS-Thomson plan to introduce more hard-wired, multichip 
  220.    solutions in 1994.
  221.    
  222. Q. What about MPEG-1 decoder chips?
  223.  
  224. A. By implication of MPEG-2 Conformace requirements, all MPEG-2 decoders are 
  225.    required to decode MPEG-1 bitstreams as well. These chips, however, are 
  226.    strictly MPEG-1:
  227.  
  228.    
  229.         C-Cube CL-450           SIF rates. Single-chip.  Has on-board CPU.
  230.                                                                                                 
  231.         SGS-Thomson 3400        SIF rates. Single-chip.  Hardwired.
  232.  
  233.         Motorola MCD250         SIF rates. Single-chip.  
  234.  
  235.         LSI 641172              CCIR 601 rates. Single-chip.  Systems
  236.                                 packet decoder on-chip.
  237.  
  238. Q. What about audio chips?
  239. A. To date, only Layer I and Layer II have been implemented in dedicated
  240.    (ASIC) silicon:
  241.                
  242.   Motorola MCD260
  243.                 
  244.   Texas Instruments TI 320AV110 
  245.         hardwired with systems parsing)                      
  246.         operates in free format (arbitrary sample rate)
  247.         120 pin PQFP package
  248.         Serial data port
  249.         Part of technology exchange with C-Cube
  250.  
  251.   LSI Logic L64111 
  252.         hardwired w/CPU with on-chip systems parsing.
  253.         Serial data port                        
  254.         100-pin PQFP              
  255.         
  256.   GCA/ASCII ?
  257.   
  258.   Crystal Semiconductor CS4920
  259.         on-chip, 2 channel 16-bit digital-to-analog convertor (DAC)
  260.         16 MIPS, 24-bit DSP 
  261.         programmable clock manager
  262.         44-pin PLCC package
  263.         Programmable architecture.  For example, can download Layer II 
  264.           MPEG-1 audio or Dolby AC-2
  265.         $38 each in large quantities
  266.  
  267.  
  268. Dolby AC-3
  269.         MPEG NY disclosure
  270.         claimed to be less computationally intensive
  271.         Zoran, GI working on own DSP-like dedicated chips.
  272.  
  273. Q. Will there be an MPEG video tape format?
  274.  
  275. A. There is a consortium of companies (Philips, JVC, Sony, Matushista,
  276.    et al) developing a metal particle based 6 milimeter consumer digital 
  277.    video tape format. It will initially use more JPEG-like independent 
  278.    frame compression for cheap encoding of source analog (NTSC, PAL) 
  279.    video.  The consequence of course is less efficient use of bandwidth (
  280.    25 Mbit/sec for the same quality acheived at 6 Mbit/sec with MPEG). 
  281.    Pre-compressed video from broadcast sources will be directly recorded 
  282.    to tape and "passed-through" as a coded bitstream to the video 
  283.    decompression "box" upon playback.
  284.  
  285.                
  286.              
  287. Q. What do B-frames buy you?
  288. A. Since bi-directional marcoblock predictions are an average of two maroblocks blocks, 
  289.    noise is reduced at low bit rates.  At nominal MPEG-1 video (352 x 240 x 30, 1.15 
  290.    Mbit/sec) rates, it is said that B-frames improves SNR by as much as 2 dB. 
  291.    (0.5 dB gain is usually considered worth-while in MPEG). However, at higher 
  292.    bit rates, B-frames become less useful since they inherently do not contribute 
  293.    to the progressive refinement of an image sequence (i.e.not used as 
  294.    prediction by subsequent coded frames).  Regardless, B-frames are still 
  295.    politically controversial.
  296.  
  297.  
  298. Q. Why do some people hate B-frames?
  299. A. Computational complexity, bandwidth, delay, and picture buffer size are 
  300.    the four B-frame Pet Peeves. Computational complexity is increased since
  301.    a some macroblock modes require averaging between two macroblocks.  
  302.    Worst case, memory bandwidth is increased an extra 16 MByte/s (601 
  303.    rate) for this extra prediction. An extra picture buffer is needed to 
  304.    store the future prediction reference (bi-directionality).  Finally, 
  305.    extra delay is introduced in encoding since the frame used for backwards
  306.    prediction needs to be transmitted to the decoder before the intermediate 
  307.    B-pictures can be decoded and displayed.
  308.    
  309.    Cable television (e.g. General Instruments) have been particularly 
  310.    adverse to B-frames since the extra picture buffer pushes the decoder
  311.    DRAM memory requirements past the magic 8-Mbit (1 Mbyte) threshold into the 
  312.    realm of 16 Mbits (2 MByte) for CCIR 601 frames (704 x 480), yet not for 
  313.    lowly 352 x 480. However, cable does not realize that DRAM does not come 
  314.    in convenient high-volume (low cost) 8-Mbit packages as 16-Mbit does.  In 
  315.    a few years, the cost differences between 16 Mbit and 8 Mbit will become 
  316.    insignificant compared to the gain in compression.  For the time being, 
  317.    cable boxes will start with 8-Mbit and allow future drop-in upgrades to 
  318.    16-Mbit.  The early market success of B-frames seem to have been 
  319.    determined by a fire at a Japanese chemical plant.
  320.  
  321. Q. How do MPEG and H.261 differ?
  322. A. H.261 was targeted for teleconferencing applications where motion
  323.    is naturally more limited. Motion vectors are restricted to a range of
  324.    +/- 15 pixels.  Accuracy is reduced since H.261 motion vectors are 
  325.    restricted to integer-pel accuracy.  Other syntactic differences 
  326.    include: no B-pictures, different quantization method. 
  327.  
  328.    H.261 is also known as P*64. "P" is an integer number meant to 
  329.    represent multiples of 64kbit/sec.  In the end, this nomenclature 
  330.    probably won't be used as many services other than video will adopt the 
  331.    philosophy of arbitrary B channel (64kbit) bitrate scalability.
  332.  
  333. Q. Is H.261 the de facto teleconferencing standard?
  334.  
  335. A. Not exactly.  To date, about seventy percent of the industrial  
  336.    teleconferencing hardware market is controlled by PictureTel of Mass.  
  337.    The second largest market controller is Compression Labs of Silicon 
  338.    Valley.  PictureTel hardware includes compatibility with H.261 as a 
  339.    lowest common denominator, but when in comminication with other 
  340.    PictureTel hardware, it can switch to a mode superior at low bit rates 
  341.    (less than 300kbits/sec). In fact, over 2/3 of all teleconfercing is done 
  342.    at two-times switched 56 channel (~P = 2) bandwidth.  Long distance ISDN 
  343.    ain't cheap.  In each direction, video and audio are coded at an 
  344.    aggregate of 112 kbits/sec (2*56 kbits/sec).
  345.    
  346.    The PictureTel proprietary compression algorithm is acknowledged to 
  347.    be a combination of spatial pyramid, lattice vector quanitzer, and an 
  348.    unidentified entropy coding method.  Motion compensation is considerably
  349.    more refined and sophisticated than the 16x16 integer-pel block method
  350.    specified in H.261.
  351.  
  352.    The Compression Labs proprietary algorithm also offers significant 
  353.    improvement over H.261 when linked to other CLI hardware. 
  354.  
  355.    Currently, ITU-TS (International Telecommunications Union--Teleconferencing
  356.    Sector), formerly CCITT, is quietly defining an improvement to H.261 with 
  357.    the participation of industry vendors.
  358.    
  359. Q. Where will be see MPEG in everyday life?
  360. A. Just about wherever you see video today.
  361.    
  362.    DBS (Direct Broadcast Satellite)
  363.      The Hughes/USSB DBS service will use MPEG-2 video and audio.  Thomson 
  364.      has exclusive rights to manufacture the decoding boxes for the first 
  365.      18 months of operation.  No doubt Thomson's STi-3500 MPEG-2 video 
  366.      decoder chip will be featured.
  367.  
  368.      Hughes/USSB DBS will begin service in North America in April 1994.
  369.      Two satellites at 101 degrees West will share the power requirements   
  370.      of 120 Watts per 27 MHz transponder. Multi-source channel rate 
  371.      control methods will be employed to optimally allocate bits between 
  372.      several programs on one data carrier. An average of 150 channels are  
  373.      planned.
  374.    
  375.  
  376.    CATV (Cable Television)
  377.      Despite conflicting options, the the cable industry has more or less 
  378.      settled on MPEG-2 video.  Audio is less than settled. For example, 
  379.      General Instruments (the largest U.S. consumer cable set-top box 
  380.      manufacturer) have announced the planned use of the Dolby AC-3 
  381.      audio algorithm.
  382.  
  383.      The General Instruments DigiCipher I video syntax is similar to MPEG-2
  384.      syntax but uses smaller macroblock predictions and no B-frames.  The
  385.      DigiCipher II specification will include modes to support both the GI 
  386.      and full MPEG-2 Video Main Profile syntax.  Services such as HBO will
  387.      upgrade to DigiCipher II in 1994. 
  388.  
  389.    HDTV
  390.      The U.S. Grand Alliance, a consortium of companies that formely competed
  391.      for the U.S. terrestrial HDTV standard,  have already agreed to use
  392.      the MPEG-2 Video and Systems syntax---including B-pictures. Both interlaced
  393.      (1440 x 960 x 30 Hz) and progressive (1280 x 720 x 60 Hz) modes will 
  394.      be supported. The Alliance must then settle upon a modulation (QAM, 
  395.      VSB, OFDM), convolution (MS or Viterbi), and error correction (RSPC, RSFC) 
  396.      specification.
  397.  
  398.      In September 1993, the consortium of 85 European companies signed an 
  399.      agreement to fund a project known Digital Video Broacasting (DVB) which 
  400.      will develop a standard for cable and terrestrial transmission by the 
  401.      end of 1994. The scheme will use MPEG-2.  This consortium has put the 
  402.      final nail in the coffin of the D-MAC scheme for gradual migration 
  403.      towards an all-digital, HDTV consumer transmission standard. The only 
  404.      remaining analog or digital-analog hybrid system left in the world is 
  405.      NHK's MUSE (which will probably be axed in a few years).
  406.      
  407. Q. What did MPEG-2 add to MPEG-1 in terms of syntax/algorithms ?
  408. A. Here is a brief summary:
  409.  
  410.   Sequence layer:
  411.   More aspect ratios.  A minor, yet neccessary part of the syntax.
  412.  
  413.   Horizontal and vertical dimensions are now required to be a multiple of
  414.   16 in frame coded pictures, and the vertical dimension must be a multiple 
  415.   of 32 in field coded pictures.
  416.  
  417.   4:2:2 and 4:4:4 macroblocks were added in the Next profiles.
  418.  
  419.   Syntax can now signal frame sizes as large as 16383 x 16383.
  420.  
  421.   Syntax signals source video type (NTSC, PAL, SECAM, MAC, component) to 
  422.   help post-processing and display.
  423.  
  424.   Source video color primaries (609, 170M, 240M, D65, etc.) and opto-
  425.   electronic transfer characteristics (709, 624-4M, 170M etc.) can be 
  426.   indicated.
  427.  
  428.   Four scalable modes [see scalable section below]
  429.  
  430.   Picture layer:
  431.   All MPEG-2 motion vectors are half-pel accuracy.
  432.  
  433.   DC precision can be user-selected as 8, 9, 10, or 11 bits.
  434.  
  435.   Concealment motion vectors were added to I-pictures in order to 
  436.   increase robustness from bit errors since I pictures are the most
  437.   critical and sensitive in a group of pictures.
  438.  
  439.   A non-linear macroblock quantization factor that results in a more
  440.   dynamic step size range, from 0.5 to  56, than in MPEG-1 (1 to 32).
  441.   
  442.   New Intra-VLC table for dct_next_coefficient (AC run-level events) 
  443.   that is more geared towards I-frame probability distribution.  EOB
  444.   is 4 bits.  The old tables are still included.
  445.  
  446.   Alternate scanning pattern that (supposedly) improves entropy coding
  447.   performance over the original Zig-Zag scan used in H.261, JPEG, and
  448.   MPEG-1.  The extra scanning pattern is geared towards interlaced
  449.   video.
  450.  
  451.   Syntax to signal 3:2 pulldown process (repeat_field_first flag)
  452.  
  453.   Syntax flag to signal chrominance post processing type (4:2:0 to 
  454.   4:2:2 upsampling conversion)
  455.  
  456.   Progressive and interlaced frame coding
  457.  
  458.   Syntax to signal source composite video characteristics useful in 
  459.   post-processing operations. (v-axis, field sequence, sub_carrier, 
  460.   phase, burst_amplitude, etc.)
  461.  
  462.   Pan & scanning syntax that tells decoder how to, for example, window a 
  463.   4:3 image within a wider 16:9 aspect ratio image.  Vertical pan offset
  464.   has 1/16th pixel accuracy.
  465.  
  466.   Macroblock layer:
  467.   Macroblock stuffing is now illegal in MPEG-2 (hurray!!)
  468.  
  469.   Two line modes (interlaced and progressive) for DCT operation.   
  470.   
  471.   Now only one run-level escape code code (24-bits) instead of 
  472.   the single (20-bits) and double escape (28-bits) in MPEG-1.
  473.  
  474.   Improved mismatch control in quantization over the original oddification
  475.   method in MPEG-1.  Now specifies adding or subtracting one to the
  476.   63rd AC coefficient depending on parity of summed quantized coefficients.
  477.   
  478.   Many additional prediction modes (16x8 MC, field MC, Dual Prime)
  479.   and, correspondingly, macroblock modes.
  480.   
  481.   Overall, MPEG-2's greatest compression improvements over MPEG-1 are:  
  482.   prediction modes, Intra VLC table, DC precision, non-linear macroblock 
  483.   quant.  Implementation improvements, well,.. uh... macroblock stuffing
  484.   was eliminated.
  485.  
  486. Q. What are the scalable modes of MPEG-2?
  487. A. Scalable video is permitted only in the Main+ and Next profiles. 
  488.    Currently, there are four scalable modes in the MPEG-2 toolkit.
  489.    These modes break MPEG-2 video into different layers (base, middle,
  490.    and high layers) mostly for purposes of prioritizing video data.  For 
  491.    example, the high priority channel (bitstream) can be coded with a 
  492.    combination of extra error correction information and decreased bit 
  493.    error (i.e. higher Carrier-to-Noise ratio or signal strength) than 
  494.    the lower priority channel.  
  495.    
  496.    Another purpose of scalablity is complexity division.  For example,
  497.    in HDTV, the high priority bitstream (720 x 480) can be decoded 
  498.    under noise conditions were the lower priority (1440 x 960) cannot. 
  499.    This is "graceful" degradation. By the same division however, a 
  500.    standard TV set need only decode the 720 x 480 channel, thus requiring 
  501.    a less expensive decoder than a TV set wishing to display 1440 x 960.
  502.    This is simulcasting.
  503.    
  504.    A brief summary of the MPEG-2 video scalability modes:
  505.    [better descriptions in installment 3]   
  506.    
  507.    Spatial Scalablity-- Useful in simulcasting, and for feasible software 
  508.     decoding of the lower resoultion, base layer.  This spatial domain 
  509.     method codes a base layer at lower sampling dimensions (i.e. "resolution") 
  510.     than the upper layers.  The upsampled reconstructed lower (base) layers 
  511.     are then used as prediction for the higher layers.  
  512.         
  513.    Data Partitioning-- Similar to JPEG's frequency progressive mode, only 
  514.     the slice layer indicates the maximum number of block transform 
  515.     coefficients contained in the particular bitstream (known as the
  516.     "priority break point").  Data partitioning is a frequency domain method
  517.     that breaks the block of 64 quantized transform coefficients into two 
  518.     bitstreams.  The first, higher priority bitstream contains the more 
  519.     critical lower frequency coefficients and side informations (such as DC 
  520.     values, motion vectors). The second, lower priority bitstream carries 
  521.     higher frequency AC data.
  522.         
  523.    SNR Scalability-- Similar to the point transform in JPEG, SNR scalability 
  524.     is a spatial domain method where channels are coded at identical sample 
  525.     rates, but with differing picture quality (through quantization step sizes).  
  526.     The higher priority bitstream contains base layer data that can be added 
  527.     to a lower priority refinement layer to construct a higher quality picture.
  528.  
  529.    Temporal Scalability--- A temporal domain method useful in, e.g., 
  530.     stereoscopic video.  The first, higher priority bitstreams codes video 
  531.     at a lower frame rate, and the intermediate frames can be coded in a 
  532.     second bitstream using the first bitstream reconstruction as prediction.  
  533.     In sterescopic vision, for example, the left video channel can be 
  534.     prediction from the right channel.
  535.  
  536.    Other scalability modes were experimented with in MPEG-2 video (such as
  537.    Frequency Scalability), but were eventually dropped in favor of methods 
  538.    that demonstrated similar quality and greater simplicity.
  539.  
  540. Q. What is all the fuss with cositing of chroma components?
  541. A. It is important to properly co-site chroma samples, otherwise chroma 
  542.    shifting may result.  
  543.    [insert more details in installment 3]
  544.  
  545. Q. What is the reasoning behind MPEG syntax symbols?
  546. A. Here are some of the Whys and Wherefores of MPEG symbols: 
  547.  
  548.   Start codes
  549.   These 32-bit byte-aligned codes provide a mechanism for cheaply searching
  550.   coded bitstreams for commencment of various layers of video without having
  551.   to actually parse or decode.  Start codes also provide a mechanism for 
  552.   resynchronization in the presense of bit errors.
  553.  
  554.   Coded block pattern (CBP --not to be confused with Constrained Parameters!)
  555.   When the frame prediction is particularly good, the displaced 
  556.   frame differencene (DFD, or prediction error) tends to be small, often 
  557.   with entire block energy being reduced to zero after quantization.  This 
  558.   usually happens only at low bit rates.  Coded block patterns prevent 
  559.   the need for transmitting EOB symbols in those zero coded blocks.
  560.   
  561.   DCT_coefficient_first
  562.   Each intra coded block has a DC coefficient.  Inter coded blocks 
  563.   (prediction error or DFD) naturally do not since the prediction error 
  564.   is the first derivative of the video signal. With coded block patterns
  565.   signalling all possible non-coded block patterns, the dct_coef_first 
  566.   mechanism assigns a different meaning to the VLC codeword that would
  567.   otherwise represent EOB as the first coefficient.
  568.   
  569.   End of Block 
  570.   Saves unecessary run-length codes.  At optimal bitrates, there tends to be 
  571.   few AC coefficients concentrated in the early stages of the zig-zag vector.
  572.   In MPEG-1, the 2-bit length of EOB implies that there is an average of only
  573.   3 or 4 non-zero AC coefficients per block.  In MPEG-2 Intra (I) pictures, 
  574.   with a 4-bit EOB code, this number is between 9 and 16 coefficients.
  575.   Since EOB is required for all coded blocks, its absense can signal that a 
  576.   syntax error has occurred in the bitstream.
  577.   
  578.   Macroblock stuffing
  579.   A genuine pain for VLSI implementations, macroblock stuffing was introduced 
  580.   to maintain smoother, constant bitrate control in MPEG-1. However, with 
  581.   normalized complexity measures and buffer management performed on a 
  582.   a priori (pre-frame, pre-slice, and pre-macroblock) basis in the MPEG-2 
  583.   encoder test model, the need for such localized smoothing evaportated.  
  584.   Stuffing can be acheived through virtually unlimited slice start code 
  585.   padding if required. A good rule of thumb: if you find yourself often 
  586.   using stuffing more than once per slice, you probably don't have a very 
  587.   good rate control algorithm.  Anyway, marcoblock stuffing is now illegal in 
  588.   MPEG-2.
  589.  
  590.  
  591.   MPEG's modified Huffman VLC tables
  592.   The VLC tables in MPEG are not Huffman tables in the true sense of
  593.   Huffman coding, but are more like the tables used in Group 3 fax.
  594.   They are entropy constrained, that is, non-downloadable and optimized 
  595.   for a limited range of bit rates (sweet spots).  With the acception of 
  596.   a few codewords, the larger tables were carried over from the H.261 
  597.   standard of 1990.  MPEG-2 added an "Intra table".  Note that the 
  598.   dct_coefficient tables assume positive/negative coefficient pmf symmetry.
  599.  
  600.  
  601. Q. What is the TM rate control and adaptive quantization technique ?
  602. A. Test model was not by any strech of the imagination meant to
  603.    be the show-stopping, best set of algorithm.  It was designed to
  604.    excersize the syntax, verify proposals, and test the *relative* 
  605.    performance of proposals in a way that could be duplicated
  606.    by co-experimentors in a timely fashion.  Otherwise there would
  607.    be more endless debates about model interpretation than actual
  608.    time spent in verification.
  609.  
  610.   [MPEG-2 Test model is frozen as v5b]
  611.   
  612.   The MPEG-2 Test Model (TM) rate control method offers a dramatic 
  613.   improvement to the Simulation Model (SM) method used for MPEG-1.  TM's 
  614.   improvements are due to more sophistication pre-analysis and post-analysis 
  615.   routines.
  616.  
  617.   Rate control and adaptive quantization are divided into three steps:
  618.  
  619.   Step One:       Bit Allocation 
  620.     
  621.     In Complexity Estimation, the global complexity measures assign relative 
  622.     weights to each picture type.  These weights (Xi, Xp, Xb) are reflected 
  623.     by the typical coded frame size of I, P, and B pictures (see typical frame 
  624.     size section). I pictures are assigned the largest weight since they have 
  625.     the greatst stability factor in an image sequence.  B pictures are assigned 
  626.     the smallest weight since B data does not propogate into other frames 
  627.     through the prediction process.
  628.  
  629.     Picture Target Setting allocates target bits for a frame based on 
  630.     the frame type and the remaining number of frames of that same
  631.     type in the Group of Pictures (GOP). 
  632.  
  633.  
  634. Step Two:       Rate Control
  635.  
  636.         Rate control attempts to adjust bit allocation if there is
  637.         significant difference between the target bits (anticipated
  638.         bits) and actual coded bits for a block of data.
  639.  
  640.         [more detail in installment 3]
  641.  
  642. Step Three:     Adaptive Quantization
  643.  
  644.         Recomputes macroblock quantization factor according to 
  645.         activity of block against the normalized activity of the
  646.         frame.
  647.         
  648.         The effect of this step is to roughly assign a constant number 
  649.         of bits per macroblock (this results in more perceptually uniform 
  650.         picture quality).
  651.  
  652.         [more detail in installment 3]
  653.         
  654.  
  655. Q. How would you explain MPEG to the data compression expert?
  656. A. MPEG video is a block-based video scheme 
  657.    Local decorrelations via DCT-Q-VLC hybrid
  658.    Dead-zone quanitizer
  659.    DFD: quantized prediction error
  660.    [etc.  More in installment 3]
  661.  
  662. Q. What are the implementation requirements?
  663. A. MPEG pushes the limit of economical VLSI technology (but you get
  664.    what you pay for in terms of picture quality or compaction efficiency) 
  665.  
  666.    Video                Typical decoder     Total    DRAM bus width 
  667.    Profile              transistor count    DRAM     @ speed
  668.    ------------         ----------------    -------  -------------------
  669.    MPEG-1 CPB           0.4 to .75 million   4 Mbit  16 bits @ 80 ns
  670.    MPEG-1 601           0.8 to 1.1 million  16 Mbit  64 bits @ 80 ns
  671.    MPEG-2 MP@ML         0.9 to 1.5 million  16 Mbit  64 bits @ 80 ns
  672.    MPEG-2 MP@High1440     2 to   3 million  64 Mbit  N/A
  673.  
  674.    70 or 80ns DRAM speed is a measure of the shortest period in which
  675.    words can be transfered across the bus.  In the case of MPEG-1 SIF,
  676.    80ns implies (1/80ns)(16bits) or about 25 MBytes/sec of bandwidth.
  677.    Lack of cheap memory (DRAM) utilization is where the original DVI 
  678.    algorithm made a costly mistake.  DVI required expensive VRAM/SRAM 
  679.    chips (a static RAM transistor requires 6 transistors compared to 
  680.    1 transistor for DRAM).    Fast page mode DRAM (which has slower 
  681.    throughput than SRAM and requires near-contiguous address mapping) 
  682.    is viable for MPEG due almost exclusively to the block nature of 
  683.    the algorithm and syntax (DRAM memory locations are broken into 
  684.    rows and columns).
  685.         
  686. Q. Is exhuastive search "optimal" ?
  687. A. Definately not in the context of block-based MCP.   Since one motion
  688.    vector represents the prediction of 256 pixels, divergent pixels within 
  689.    the macroblock are misrepresented by the "global" vector.  This leads 
  690.    back to the general philosophy of block-based coding as an approximation 
  691.    technique.  Exhuastive search may find blocks with the least distortion 
  692.    (displaced frame difference) but will not produce motion vectors with 
  693.    the least entropy. [more details later]
  694.    
  695. Q. What is a good motion estimation method, then? 
  696.    When shopping for motion vectors, the three basic characteristics are: 
  697.    Search range, search pattern, and matching criteria.  Search pattern
  698.    has the greatest impact on finding the best vector.   Hierarchical
  699.    search patterns first find the best match between downsampled images of 
  700.    the reference and target pictures and then refine the vector through
  701.    progressively higher resolutions.  Hierarchical patterns are less
  702.    likely to be confused by extremely local distortion minimums as being
  703.    a best match.
  704.    
  705.    [Accuracy vs. Ambiguity]
  706.    
  707.    [Some ways of solving problem (Gary Sullivan--ICASSP '93), but not
  708.    syntacitally compatible].
  709.  
  710.    [motion vector pre-frame search, motion vector refinement, etc.
  711.     in installment 3]
  712.  
  713. Q. What is MPEG 1.5 and MPEG++ ? 
  714. A. MPEG-1.5 was not exactly a  proprietary twist in terms of syntax,
  715.    but operating parameters.  Again, people (erronously) consider MPEG-1 
  716.    to be limited to SIF rates (352 x 240 x 30 Hz). After interrogation, 
  717.    most MPEG 1.5 proponents will confess that MPEG 1.5 is simply MPEG-1 at 
  718.    CCIR 601 rates (704 x 480 x 30 Hz) and that it may or may not include 
  719.    B-frames.   It was meant to be an interrum solution for cable TV until
  720.    MPEG-2 chips became available.
  721.  
  722.    MPEG++ is/was proprietary only at the transport layer (compatible syntax
  723.    at the video layer).  This name was coined by the Sarnoff/Philips/
  724.    RCA/Thomson HDTV consortium.  
  725.  
  726.    Both MPEG 1.5 and MPEG++ are now moot since MPEG-2 Simple profile and
  727.    MPEG-2 Systems layer fill these potentials, respectively.
  728.  
  729.  
  730. Q. What about MPEG-2 audio?
  731. A. MPEG-2 audio attempts to maintain as much compatibility with        
  732.    MPEG-1 audio syntax as possible, while adding discrete surround-sound
  733.    channels to the orignal MPEG-1 limit of 2 channels (Left, Right or
  734.    matrix center and difference).  The main channels (Left, Right) in 
  735.    MPEG-2 audio will remain backwards compatible, whereas new coding
  736.    methods and syntax will be used for the surround channels.
  737.  
  738.    A total of 5.1 channels are included that consist of the two main 
  739.    channels (L,R), two side/rear, center, and a 100 Hz special effects 
  740.    channel (hence the ".1" in "5.1").
  741.  
  742.    At this time, non-backwards compatible (NBC) schemes are being
  743.    considered as an ammedment to the MPEG-2 audio standard. One
  744.    such popular system is Dolby AC-3.
  745.  
  746.    [installment 3: detail on Layers, AC-3, etc., optimal bitrates.]
  747.  
  748. Q. What about MPEG-2 systems?
  749. A. [to be filled out in installment 3]
  750.         Transport stream
  751.         Program stream
  752.         ATM
  753.         PES
  754.         Timing Recovery
  755.  
  756. Q. How many bitstreams can MPEG-2 systems represent?
  757. A. [installment 3]
  758.  
  759.  
  760. Q. What are the typical MPEG-2 bitrates and picture quality?
  761. [examples of typical frame sizes in bits]
  762.  
  763.                                         Picture type
  764.                         I               P               B          Average
  765. MPEG-1 SIF
  766. @ 1.15 Mbit/sec         150,000         50,000          20,000      38,000
  767.  
  768. MPEG-2 601              400,000         200,000         80,000     130,000
  769. @ 4.00 Mbit/sec
  770.  
  771. Note: parameters assume Test Model for encoding, I frame distance of 15 
  772. (N = 15), and a P frame distance of 3 (M = 3).
  773.  
  774. Of course with scene changes and more advanced encoder models found
  775. in any real-world implementation, these numbers can be very different.
  776.  
  777. Q. At what bitrates is MPEG-2 video optimal? 
  778. A. The Test subgroup has defined a few examples:
  779.  
  780. "Sweet spot" sampling dimensions and bit rates for MPEG-2:
  781.  
  782. Dimensions      Coded rate      Comments
  783. -------------   ----------      -------------------------------------------
  784. 352x480x24 Hz   2 Mbit/sec      Half horizontal 601.  Looks almost NTSC
  785. (progressive)                   broadcast quality, and is a good (better) 
  786.                                 substitute for VHS.  Intended for film src.
  787.  
  788. 544x480x30 Hz   4 Mbit/sec      PAL broadcast quality (nearly full capture 
  789. (interlaced)                    of 5.4 MHz luminance carrier).  Also 
  790.                                 4:3 image dimensions windowed within 720
  791.                                 sample/line 16:9 aspect ratio via pan&scan.
  792.  
  793. 704x480x30 Hz   6 Mbit/sec      Full CCIR 601 sampling dimensions.
  794. (interlaced)
  795.  
  796. [these numbers subject to change at whim of MPEG Test subgroup]
  797.  
  798.  
  799. Q. How does MPEG video really compare to TV, VHS, laserdisc ?
  800. A. VHS picture quality can be acheived for source film video at about
  801.    1 million bits per second (with proprietary encoding methods).  It is 
  802.    very difficult to objectively compare  MPEG to VHS.  The response curve 
  803.    of VHS places -3 dB at around 2 MHz of analog luminance bandwidth 
  804.    (equivalent to 200 samples/line). VHS chroma is considerably less dense 
  805.    in the horizontal direction than MPEG source video (compare 80 samples/
  806.    line to 176!).  From a sampling density perspective, VHS is superior only 
  807.    in the vertical direction (480 lines compared to 240)... but when taking 
  808.    into account interfield magnetic tape crosstalk and the TV monitor Kell 
  809.    factor, not by all that much.  VHS is prone to timing errors (which can be 
  810.    improved with time base correctors), whereas digital video is fully 
  811.    discretized. Pre-recorded VHS is typically recorded at very high 
  812.    duplication speeds (5 to 15 times real time playback), which leads to 
  813.    further shortfalls for the format that has been with us since 1977.
  814.    
  815.    Broadcast NTSC quality can be approximated at about 3 Mbit/sec, and PAL 
  816.    quality at about 4 Mbit/sec.  Of course, sports sequences with complex 
  817.    spatial-temporal activity need more like 5 and 6 Mbit/sec, respectively.
  818.    
  819.    Laserdisc is a tough one to compare.  Disc is composite video (NTSC 
  820.    or PAL) with up to 425 TVL (or 567 samples/line) response.  Thus it 
  821.    could be said laserdisc has 567 x 480 x 30 Hz "resolution". The 
  822.    carrier-to-noise ratio is typically better than 48 dB.  Timing is 
  823.    excellent. Yet some of the clean characteristics of laserdisc can be 
  824.    acheived at 1.15 Mbit/sec (SIF rates), especially for those areas of 
  825.    medium detail (low spatial activity) in the presense of uniform motion.
  826.    This is why some people say MPEG-1 video at 1.15 Mbit/sec looks almost
  827.    as good as Laserdisc or Super VHS.
  828.  
  829.    Regardless of the above figures, those clever proprietary encoding
  830.    algorithms can push these bitrates even lower.
  831.  
  832.  
  833. Q. Why film does so well with MPEG ?
  834. A. Several reasons, really:
  835.  
  836.    1) The frame rate is 24 Hz (instead of 30 Hz) which is a savings of
  837.       some 20%.  
  838.    2) the film source video is inherently progressive.  Hence no fussy 
  839.       interlaced spectral frequencies.
  840.    3) the pre-digital source was severly oversampled (compare 352 x 240 
  841.       SIF to 35 milimeter film at, say, 3000 x 2000 samples).  This can 
  842.       result in a very high quality signal, whereas most video cameras do 
  843.       not oversample, especially in the vertical direction. 
  844.    4) Finally, the spatial and temporal modulation transfer function (MTF) 
  845.       characteristics (motion blur, etc) of film are more ameniable to 
  846.       the transform and quantization methods of MPEG.
  847.  
  848. Q. What is the best compression ratio for MPEG ?
  849. A. The MPEG sweet spot is about 1.2 bits/pel Intra and .35 bits/pel inter.
  850.    Experimentation has shown that intra frame coding with the familiar 
  851.    DCT-Quantization-Entropy hybrid algorithm acheives optimal performance
  852.    at about an average of 1.2 bits/sample or about 6:1 compression ratio.  
  853.    Below this point, artifacts become noticable.
  854.  
  855.  
  856. Q. What are some pre-processing enhancements ?
  857.  
  858.   Adaptive de-interlacing:
  859.   This method maps interlaced video from a higher sampling rate (e.g
  860.   720 x 480) into a lower rate, progressive format (352 x 240).   The 
  861.   most basic algorithm measures the variance between two fields, and if 
  862.   the variance is small enough, uses an average of both fields to form a 
  863.   frame macroblock.  Otherwise, a field area from one field (of the same
  864.   parity) is selected.  More clever algorithms are much more complex 
  865.   than this, and may involve median filtering, and multirate/
  866.   multidimensional tools.
  867.  
  868.   Pre-anti-aliasing and Pre-blockiness reduction:
  869.   A common method in still image coding is to pre-smooth the image
  870.   before compression encoding.  For example, if pre-analysis of a
  871.   frame indicates that serious artifacts will arise if the picture
  872.   were to be coded in the current condition, a pre-anti-aliasing 
  873.   filter can be applied.  This can be as simple as having a smoothing 
  874.   severity proportional to the image activity.  The pre-filter can be 
  875.   global (same smoothing factor for whole image) or locally adaptive.
  876.   More complex methods will use multirate/multidimensional tools again.
  877.  
  878.   The basic idea of multidimensional/multirate pre-processing is to 
  879.   apply source video whose resolution (sampling density) is greater 
  880.   than the target source and reconstruction sample rates. This follows 
  881.   the basic principles of oversampling, as found in A/D converters.
  882.  
  883.   Most detail is contained in the lower harmonics anyway.  Sharp-cut off
  884.   filters are not widely practiced, so the "320 x 480 potential" of VHS
  885.   is never truly realized.
  886.  
  887. Q. Why use these "advanced" pre-filtering techniques?
  888.  
  889. A. Think of the DCT and quantizer as an A/D convertor.  Think of the
  890.    pre-filter as the required anti-alias prefilter found before every
  891.    A/D.  The big difference of course is that the DCT quantizer assigns
  892.    a varying number of bits per sample (transform coefficient).
  893.    
  894.    Judging on the normalized activity measured in the pre-analysis 
  895.    stage of video encoding, and the target buffer size status, you have
  896.    a fairly good idea of how many bits can be spared for the target
  897.    macroblock, for instance. 
  898.  
  899.    Other pre-filtering techniques mostly take into account: texture 
  900.    patterns, masking, edges, and motion activity.  Many additional 
  901.    advanced techniques can be applied at different immediate layers
  902.    of video encoding (picture, slice, macroblock, block, etc.).
  903.    
  904.  
  905. Q. What are some advanced encoding methods?
  906.  
  907.   Quantizer feedback
  908.   [Thomson patent: installment 3]
  909.   
  910.   Horizontal variance [installment 3]
  911.   
  912.   motion vector cost:  this is true for any syntax elements, really.  
  913.   Signalling a macroblock quantization factor or a large motion vector 
  914.   differential can cost more than making up the difference with extra 
  915.   quantized DFD (prediction error) bits.   The optimum can be found
  916.   with, for example, a Lagrangian process.  In summary, any compression 
  917.   system with side information, there is a optimum point between signalling 
  918.   overhead (e.g. prediction) and prediction error. 
  919.         
  920.   Liberal Interpretations of the Forward DCT        
  921.   Borrowing from the concept that the DCT is simply a filter bank, a 
  922.   technique that seems to be gaining popularity is basis vector shaping.  
  923.   Usually this is combined with the quantization stage since the two are 
  924.   tied closely together in a rate-distortion sense. The idea is to use 
  925.   the basis vector shaping as a cheap alternative to pre-filtering by 
  926.   combining the more diserable data adaptive properties of pre-filtering/
  927.   pre-processing into the transformation process... yet still reconstruct 
  928.   a picture in the decoder using the standard IDCT that looks reasonably 
  929.   like the source. Some more clever schemes will apply windowing.  
  930.   [Warning: watch out for eigenimage/basis vector orthoganality. ]
  931.  
  932.   Frequency-domain enhancements:
  933.   Enhancements are applied after the DCT (and possibly quantization)
  934.   stage to the transform coefficients.  This borrows from the concept:  
  935.   if you don't like the (quantized) transformed results, simply reshape 
  936.   them into something you do like.
  937.   
  938.   Temporal spreading of quantization error:
  939.   This method is similar to the orignal intent behind color subcarrier 
  940.   phase alternation by field in the NTSC analog TV standard: for stationary 
  941.   areas, noise does not hang" in one location, but dances about the image 
  942.   over time to give a more uniform effect.  Distribution makes it more 
  943.   difficult for the eye to "catch on" to trouble spots (due to the latent 
  944.   temporal response curve of human vision). Simple encoder models tend 
  945.   to do this naturally but will not solve all situations.
  946.  
  947.  
  948.   Look-ahead and adaptive frame cycle structures:
  949.         Scene changes
  950.         [installment 3]        
  951.  
  952.   It is easy to spot encoders that do not employ any advanced 
  953.   encoding techniques:  reconstruced video usally contains
  954.   ringing around edges, color bleeding, and lots of noise.
  955.  
  956.  
  957. Post-processing 
  958.  
  959.  (non-linear) Interpolation methods (Wu-Gersho)
  960.  Convex hull projections
  961.  Some ICASSP '93 papers, etc.
  962.  
  963.  Conformance vs. post-processing:   Post-processing makes judging 
  964.  decoder output for conformace testing near impossible.
  965.  [installment 3]
  966.  
  967. Q. Why bother to research compressed video when there is a standard?        
  968. A. Despite the worldwide standard, many areas remain open for
  969.    research:  advanced encoding and pre-processing, motion estimation,
  970.    macroblock decision models, rate control and buffer management, etc.  
  971.    There's practically no end to it.
  972.  
  973.  
  974. Q. Is so-and-so really MPEG compliant ? 
  975.  
  976. A. At the very least, there are two areas of conformance/compliance in
  977.    MPEG:  1. Compliant bitstreams  2. compliant decoders.  Technically 
  978.    speaking, video bitstreams consisting entirely of I-frames (such as 
  979.    those generated by Xing software) are syntactically compliant with 
  980.    the MPEG specification.  The I-frame sequence is simply a subset of 
  981.    the full syntax.  Compliant bitstreams must obey the range limits 
  982.    (e.g. motion vectors limited to +/-128, frame sizes, frame rates, etc.) 
  983.    and syntax rules (e.g. all slices must commence and terminate with a 
  984.    non-skipped macroblock, no gaps between slices, etc.). 
  985.  
  986.    Decoders, however, cannot escape true comformance. For example, a  
  987.    decoder that cannot decode P or B frames are *not* legal MPEG.  
  988.    Likewise, full arithmetic precision must be obeyed before any 
  989.    decoder can be called "MPEG compliant."   The IDCT, inverse quantizer, 
  990.    and motion compensated predictior must meet the specification 
  991.    requirements... which are fairly rigid (e.g. no more than 1 least 
  992.    significant bit of error between reference and test decoders).  
  993.    Real-time conformance is more complicated to measure than arithmetic 
  994.    precision, but it is reasonable to expect that decoders that skip 
  995.    frames on reasonable bitstreams are not likely to be considered 
  996.    compliant.
  997.  
  998.       
  999.  
  1000. Q. What are some journals on related MPEG topics ?
  1001. A. 
  1002.  
  1003.   IEEE Multimedia [first edition Spring 1994]
  1004.   IEEE Transactions on Consumer Electronics
  1005.   IEEE Transactions on Broadcasting
  1006.   IEEE Transactions on Circuits and Systems for Video Technology
  1007.   Advanced Electronic Imaging
  1008.   Electronic Engineering Times (EE Times)
  1009.   IEEE Int'l Conference on Acoustics, Speech, and Signal Processing (ICASSP)
  1010.   International Broadcasting Convention (IBC)
  1011.   Society of Motion Pictrures and Television Engineers (SMPTE)
  1012.   SPIE conference on Visual Comminications and Image Processing
  1013. END ---------------------- CUT HERE --------------------- 2/6
  1014.  
  1015.